package org.example;

import java.util.HashMap;
/**
 * ZDemo jwt自我模拟
 */
public class ZDemo {
    // 模拟用户数据库
    final static HashMap<String, String> USER_DB = new HashMap<>();

    static {
        USER_DB.put("admin", "admin");
        USER_DB.put("user", "user");
        USER_DB.put("root", "root");
    }

    // 模拟登录,返回token
    public static String login(String username, String password) {
        if (username == null || password == null) {
            return "用户名或密码不能为空";
        }
        if (!USER_DB.containsKey(username)) {
            return "用户名不存在";
        }
        if (!USER_DB.get(username).equals(password)) {
            return "密码错误";
        }
        System.out.println("登录成功");
        return JwtDemo.createToken(username);
    }

    // 模拟需要认证的接口
    public static void TApi(String token) {
        if (token == null) {
            System.out.println("token不能为空");
        }
        if (JwtDemo.validateToken(token)) {
            System.out.println("token验证通过，访问受保护接口");
        }else{
            System.out.println("token验证失败，拒绝访问");
        }
    }

    public static void main(String[] args) {
        String t = login("admin", "admin");
        System.out.println(t);

        //模拟认证接口
        TApi(t);
    }
}
